Skip to content

ユーザー機能テストにおけるMS2(未病DB)メタデータ付与機能のテスト追加#39

Merged
yacchin1205 merged 4 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/metadata-mibyou-db
Jul 21, 2026
Merged

ユーザー機能テストにおけるMS2(未病DB)メタデータ付与機能のテスト追加#39
yacchin1205 merged 4 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/metadata-mibyou-db

Conversation

@lieunguyen-tma

@lieunguyen-tma lieunguyen-tma commented May 14, 2026

Copy link
Copy Markdown
Contributor

Purpose

MetadataアドオンのMS2(未病DB)メタデータ付与機能のテスト用Notebookを追加しました。

Changes

本PRの変更を「(1) 未病DBメタデータ付与テスト本体」と「(2) それを CI で実行するための共有CI基盤の修正」に分けて記載する。

(1) 未病DBメタデータ付与テスト本体(本リポジトリ内のみ/共有CIへの影響なし)

MetadataアドオンのMS2(未病DB)メタデータ付与機能のテスト手順を追加し、実行可能にするための変更。

  • テスト手順 テスト手順-Metadataアドオン-未病データベース.ipynb を新規追加。主なテスト内容:ログイン・プロジェクト作成、WEKOアプリ登録・SWORD Client設定(管理者権限アカウント)、FileMibyouDbMetadataForm による6セクション(測定手順・条件等 / フォルダ構成 / テキストファイル / エクセルファイル / 画像ファイル / 任意のファイル)の展開・入力・折りたたみ、メタデータの保存・再編集・値確認、WEKO(JairoCloud)へのメタデータ送信。
  • scripts/metadata_mibyou_db.py を新規追加(FieldType enum・FileMibyouDbMetadataForm クラス・セクション/フィールド/テーブル操作メソッドを含む未病DBメタデータフォーム用ヘルパーモジュール)。
  • resources/Datatest-Metadataアドオン-未病データベース/ にテスト用サンプルデータを追加(text1.csv / text1.tsv / text2.csv / excel1.xlsx / image1.png / image1.jpeg)。
  • 結合試験-実行.ipynb:機関管理者アカウント・WEKO関連パラメータを追加し、テスト手順-Metadataアドオン-未病データベース.ipynbrun_notebook 実行セルを追加。
  • run_tests.py:未病DBテストを独立して実行するための run_mibyo_db_tests() メソッドを追加。mibyo_db_enabled フラグが true の場合のみ テスト手順-Metadataアドオン-未病データベース.ipynb を実行し、必要なWEKOパラメータ(weko_url / weko_admin_email / weko_admin_password / weko_index_name / weko_docker_compose_path / sword_mapping_id 等)を伝播する。

(2) 未病DBテストを CI で実行するための共有CI基盤の修正

(2-a) 未病DBアイテムタイプをWEKO DBへ投入する — .github/patches/ へのSQLパッチ追加

  • .github/patches/:未病DB itemtype 投入用 SQL パッチファイルを新規追加(item_type_name.sql / item_type.sql / item_type_mapping.sql / rocrate_mapping.sql / facet_search_setting.sql / sword_mapping_51000.json)。CI 環境の WEKO DB には初期状態で未病DB 専用アイテムタイプ(id=51000)が存在しないため、セットアップ時に投入する。item_type.sqlitem_type_mapping.sqlsword_mapping_51000.json からは 資源タイプ フィールドを除外(GRDM: string 型 / WEKO: object 型 の不一致回避)。
  • .github/patches/item_type.sql:WEKO ソース SQL の選択肢値に含まれる全角パイプ (U+FF5C)を半角パイプ |(U+007C)に修正。RDM-osf.io からのエクスポートデータは半角パイプを使用するため、SWORD チェックマッピング時の文字コード不一致を回避する。

(2-b) アイテムタイプ投入・SWORD mapping 登録・検証の追加 — setup_weko.sh の修正

  • .github/scripts/setup_weko.sh:CI WEKO セットアップ(install フェーズ)に以下を追加。未病DB固有の処理は MIBYO_DB_ENABLED=true の場合のみ実行するよう条件分岐。
    • 未病DB アイテムタイプ SQL 投入:.github/patches/ の SQL ファイルを WEKO PostgreSQL コンテナに投入・実行(item_type_name.sql / item_type.sql / item_type_mapping.sql / rocrate_mapping.sql / facet_search_setting.sql)。
    • SWORD mapping 51000(未病アイテムタイプ)の insert/update 登録:id=51000 エントリ不在時は INSERT、既存は UPDATE。
    • SWORD mapping 51000 の検証:JsonLdMapper.validate() を実行し、マッピングエラー時は CI を失敗させる(mapping 30002 の既存検証と同様のロジックを 51000 にも追加)。

(2-c) WEKOセットアップ実行条件の拡張・新テストグループ追加 — setup_rdm.sh / e2e-test.yml の修正

  • .github/scripts/setup_rdm.sh:WEKOの証明書セットアップ条件を WEKO_ENABLED=true のみから MIBYO_DB_ENABLED=true の場合も含めるよう拡張(未病DBテストはWEKO接続を必要とするため)。
  • .github/workflows/e2e-test.yml
    • 全テストグループに mibyo_db_enabled フィールドを追加(既存グループはすべて false)。
    • 新テストグループ user-metadata-mibyo-db(Display: "User Tests (Mibyo DB)")を追加。include_admin: truemibyo_db_enabled: true、その他テストはすべてスキップ設定。未病DBテストのみを実行する専用グループ。
    • WEKOリポジトリのチェックアウト・セットアップ・起動・接続確認・ログ収集・停止の各ステップ実行条件を WEKO_ENABLED == 'true' のみから MIBYO_DB_ENABLED == 'true' の場合も含めるよう拡張。run_tests.py 呼び出し時の --weko フラグ付与条件も同様に拡張。

Ticket

Custom Test Configuration

  • RDM_REPOSITORY: RCOSDP/RDM-osf.io
  • RDM_BRANCH: develop
  • OSF_IMAGE:
  • EMBER_IMAGE:
  • CAS_IMAGE:
  • MFR_IMAGE:
  • WB_IMAGE:
  • EXCLUDE_NOTEBOOKS:

@lieunguyen-tma
lieunguyen-tma force-pushed the feature/metadata-mibyou-db branch from 6ab2db2 to 1f4961e Compare July 14, 2026 09:15
@hidefumi-moritani

Copy link
Copy Markdown

@yacchin1205

「MS2(未病DB)メタデータ付与機能」の対応が完了しました。CI基盤側の修正内容を本 Pull Request の「Changes」にまとめておりますので、お手数ですが、ご確認よろしくお願いします。

@hidefumi-moritani

Copy link
Copy Markdown

@yacchin1205

「MS2(未病DB)メタデータ付与機能」の対応が完了しました。CI基盤側の修正内容を本 Pull Request の「Changes」にまとめておりますので、お手数ですが、ご確認よろしくお願いします。

コンフリクトが発生しておりましたので、解消しました。

@yacchin1205
yacchin1205 merged commit 10605c3 into RCOSDP:main Jul 21, 2026
27 of 30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants